home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 24 / Amiga Format AFCD24 (Feb 1998, Issue 108).iso / -seriously_amiga- / shareware / programming / other / kaliosisquantrum / morb / screenswitch.s < prev    next >
Text File  |  1998-01-12  |  2KB  |  79 lines

  1. *
  2. * CdBSian Obviously Universal & Interactive Nonsense (COUIN)
  3. * (Absurdité CdBSienne Manifestement Universelle et Interactive)
  4. * ©1997-1998, CdBS Software (MORB)
  5. * System/COUIN screen switch routines
  6. * $Id: ScreenSwitch.s 0.1 1997/09/11 21:42:55 MORB Exp MORB $
  7. *
  8.  
  9. ;fs "_SwitchToCOUIN"
  10. _SwitchToCOUIN:
  11.      lea       CustomBase,a6
  12.      move.w    dmaconr(a6),_SysDMA
  13.      move.w    intenar(a6),_SysIntEna
  14.      move.w    intreqr(a6),_SysIntReq
  15.  
  16.      move.w    #$7fff,d0
  17.      move.w    d0,intena(a6)
  18.      move.w    d0,intreq(a6)
  19.      move.w    d0,dmacon(a6)
  20.      clr.w     color(a6)
  21.      move.w    #$20,beamcon0(a6)
  22.  
  23.      movec     vbr,d0
  24.      move.l    d0,a0
  25.      move.l    $6c(a0),_SysLevel3
  26.  
  27.      lea       _Level3_Int,a1
  28.      move.l    a1,$6c(a0)
  29.  
  30.      move.l    #CopperList,cop1lc(a6)
  31.      clr.w     copjmp1(a6)
  32.  
  33.      move.w    #$c068,intena(a6)
  34.      move.w    #DMAF_SETCLR|DMAF_MASTER|DMAF_RASTER|DMAF_COPPER|DMAF_BLITTER|DMAF_SPRITE,dmacon(a6)
  35.      rts
  36. ;fe
  37. ;fs "_SwitchToSystem"
  38. _SwitchToSystem:
  39.      lea       CustomBase,a6
  40.      move.w    #$7fff,d0
  41.      move.w    d0,intena(a6)
  42.      move.w    d0,intreq(a6)
  43.  
  44.      btst      #6,dmaconr(a6)
  45. .WBlit:
  46.      btst      #6,dmaconr(a6)
  47.      bne.s     .WBlit
  48.  
  49.      movec     vbr,d0
  50.      move.l    d0,a0
  51.      move.l    _SysLevel3(pc),$6c(a0)
  52.  
  53.      move.l    Gfx_Base,a0
  54.      move.l    gb_copinit(a0),cop1lc(a6)
  55.      clr.w     copjmp1(a6)
  56.  
  57.      move.w    _SysIntReq(pc),d0
  58.      bset      #15,d0
  59.      move.w    d0,intreq(a6)
  60.  
  61.      move.w    _SysIntEna(pc),d0
  62.      bset      #15,d0
  63.      move.w    d0,intena(a6)
  64.  
  65.      move.w    _SysDMA(pc),d0
  66.      bset      #15,d0
  67.      move.w    d0,dmacon(a6)
  68.      rts
  69. ;fe
  70.  
  71. _SysLevel3:
  72.      ds.l      1
  73. _SysDMA:
  74.      ds.w      1
  75. _SysIntEna:
  76.      ds.w      1
  77. _SysIntReq:
  78.      ds.w      1
  79.